﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;

namespace SharpSoft.WPF.Controls
{
    /// <summary>
    /// 几何图形设计器
    /// </summary>
    public interface IGeoDesigner
    {
        /// <summary>
        /// 原点
        /// </summary>
        Point OriginalPoint { get; set; }
        /// <summary>
        /// 方向
        /// </summary>
        Vector Direction { get; set; }
        /// <summary>
        /// 是否是设计模式
        /// </summary>
        bool IsDesignMode { get; set; }
        /// <summary>
        /// 是否时当前选中的图形
        /// </summary>
        bool IsActivated { get; set; }
        /// <summary>
        /// 渲染
        /// </summary> 
        void Paint(System.Windows.Media.DrawingContext dc, GeoControl geoControl);
        /// <summary>
        /// 设计器包含的手柄
        /// </summary>
        System.Collections.ObjectModel.ObservableCollection<HandlerThumb> Handlers { get; }

        /// <summary>
        /// 通知几何图形已改变，需要重绘
        /// </summary>
        event EventHandler Updated;
    }
}
